package com.yanmaohu.nikita.data.variable;

import com.yanmaohu.nikita.data.Type;
import com.yanmaohu.nikita.data.TypeModifier;
import com.yanmaohu.nikita.data.expression.Expression;
import com.yanmaohu.nikita.data.expression.NameExpression;

/**
 * @author Bright Lee
 */
public final class Variable extends Type {

    private Expression variableValue;

    public Variable(TypeModifier typeModifier, NameExpression variableName, Expression variableValue) {
        super(typeModifier, variableName);
        this.variableValue = variableValue;
    }

    public int getEndIndex() {
        if (variableValue != null) {
            return variableValue.getEndIndex();
        }
        return getTypeName().getEndIndex();
    }

    public Expression getVariableValue() {
        return variableValue;
    }

}
